package com.edgclub.edg.shareapi;

import android.content.Context;
import android.os.AsyncTask;
import android.text.TextUtils;

import com.edgclub.edg.Constant;
import com.edgclub.edg.api.ApiConfig;
import com.edgclub.edg.utils.GlideUtil.GlideUtils;
import com.edgclub.edg.utils.util.BitmapUtility;

import cn.sharesdk.framework.PlatformActionListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.onekeyshare.OnekeyShare;

/**
 * 分享的SDK
 * 
 * @author 陈坤彬
 *
 */
public class ShareSDKApi {

	public static final String SHAREURL = "http://srv.edgteam.cn:8088/edg/code.html";
	public static final String SHAREIMAGE = "http://img.imguzhi.cn/group1/M00/02/26/eBjs9VX2dHeAN7OqAADiAK_YIY0521.jpg";

//	/**
//	 * 拼接帖子的分享链接
//	 *
//	 * @param topicId
//	 * @return
//	 */
//	public static final String getTopicShare(String topicId) {
//		StringBuffer sb = new StringBuffer();
//		String t = System.currentTimeMillis() + "";
//		sb.append(ApiConfig.BASE_URL);
//		sb.append(ApiConfig.APIURL.URL_TOPICSHARE);
//		sb.append("?");
//		sb.append("id=" + topicId);
//		sb.append("&");
//		sb.append("t=" + t);
//		sb.append("&");
//		sb.append("sign="
//				+ CryptUtil.md5("id=" + topicId + "&t=" + t + "&key=123456"));
//		return sb.toString();
//	}

	public static void showShare(final Context context,String title, String summary, String targetUrl,
								  String imageUrl,PlatformActionListener platformActionListener) {
		ShareSDK.initSDK(context);
		OnekeyShare oks = new OnekeyShare();
		//关闭sso授权
		oks.disableSSOWhenAuthorize();
		// title标题，印象笔记、邮箱、信息、微信、人人网和QQ空间使用
		if(TextUtils.isEmpty(title)){
			title = "EDG俱乐部";
		}
		oks.setTitle(title + "");
		// titleUrl是标题的网络链接，仅在人人网和QQ空间使用
		oks.setTitleUrl(targetUrl);
		// text是分享文本，所有平台都需要这个字段
		oks.setText(summary);
		// imagePath是图片的本地路径，Linked-In以外的平台都支持此参数
		oks.setImagePath(Constant.shareImage + imageUrl.substring(imageUrl.lastIndexOf("/")));//确保SDcard下面存在此张图片
//		oks.setImageUrl(imageUrl);
//				// url仅在微信（包括好友和朋友圈）中使用
		oks.setUrl(targetUrl);
//				// site是分享此内容的网站名称，仅在QQ空间使用
		oks.setSite(title);
//				// siteUrl是分享此内容的网站地址，仅在QQ空间使用
		oks.setSiteUrl(targetUrl);
		//捕获快捷分享的处理结果
		oks.setCallback(platformActionListener);
//		oks.setSilent(true);   //隐藏编辑页面

		// 启动分享GUI
		oks.show(context);


		if(TextUtils.isEmpty(imageUrl)) {
			imageUrl = SHAREIMAGE;
		}
		new CreatFile(context,title,summary,targetUrl,imageUrl,platformActionListener).execute();



	}
	static class CreatFile extends AsyncTask<Object, String, String> {
		//后面尖括号内分别是参数（例子里是线程休息时间），进度(publishProgress用到)，返回值 类型
		private String imageUrl="";
		String title="";
		String summary="";
		String targetUrl="";
		Context context;
		private GlideUtils glideUtils;
		PlatformActionListener platformActionListener;
		public CreatFile(Context context,String title, String summary, String targetUrl,
						 String imageUrl,PlatformActionListener platformActionListener){
			this.context=context;
			this.title=title;
			this.summary=summary;
			this.targetUrl=targetUrl;
			this.imageUrl=imageUrl;
			this.platformActionListener=platformActionListener;
			glideUtils=new GlideUtils();
		}
		@Override
		protected void onPreExecute() {
			//第一个执行方法
			super.onPreExecute();
		}

		@Override
		protected String doInBackground(Object... params) {
			try {	// TODO Auto-generated method stub

				BitmapUtility.saveFile(glideUtils.loadShareBitmap200(context,imageUrl),
						Constant.shareImage+imageUrl.substring(imageUrl.lastIndexOf("/")));
				return "1";
			} catch (Exception e) {
				e.printStackTrace();
			}
			return "0";
		}
		@Override
		protected void onPostExecute(String result) {
			//doInBackground返回时触发，换句话说，就是doInBackground执行完后触发
			//这里的result就是上面doInBackground执行后的返回值，所以这里是"执行完毕"
			if("0".equals(result)){
			}else{
//				ShareSDK.initSDK(context);
//				OnekeyShare oks = new OnekeyShare();
//				//关闭sso授权
//				oks.disableSSOWhenAuthorize();
//				// title标题，印象笔记、邮箱、信息、微信、人人网和QQ空间使用
//				oks.setTitle(title + "");
//				// titleUrl是标题的网络链接，仅在人人网和QQ空间使用
//				oks.setTitleUrl(targetUrl);
//				// text是分享文本，所有平台都需要这个字段
//				oks.setText(summary);
//				// imagePath是图片的本地路径，Linked-In以外的平台都支持此参数
//				oks.setImagePath(Constant.shareImage + imageUrl.substring(imageUrl.lastIndexOf("/")));//确保SDcard下面存在此张图片
////				oks.setImageUrl(imageUrl);
////				// url仅在微信（包括好友和朋友圈）中使用
//				oks.setUrl(targetUrl);
////				// site是分享此内容的网站名称，仅在QQ空间使用
//				oks.setSite(title);
////				// siteUrl是分享此内容的网站地址，仅在QQ空间使用
//				oks.setSiteUrl(targetUrl);
//				//捕获快捷分享的处理结果
//				oks.setCallback(platformActionListener);
//				oks.setSilent(true);   //隐藏编辑页面
//
//				// 启动分享GUI
//				oks.show(context);
			}

			super.onPostExecute(result);
//			EventBus.getEventBus(BroadCastEvent.EVENTBUS_COMMON,
//					ThreadEnforcer.MAIN).post(BroadCastEvent.shareshowend);
		}
	}

	/**
	 * 拼接帖子的分享链接
	 *
	 * @param topicId
	 * @return
	 */
	public static final String getTopicShare(String topicId) {
		return ApiConfig.USER_POST_SHARE+topicId;
	}
}
